Gesture-based load control

ABSTRACT

A load control system may include load control devices for controlling an amount of power provided to an electrical load. The load control devices may be capable of controlling the amount of power provided to the electrical load based on control instructions received from a gesture-based control device. The gesture-based control device may identify gestures performed by a user for controlling a load control device and provide control instructions to the load control device based on the identified gestures. The gestures may be identified based on images received from a motion capture device. A gesture may be associated with a scene that includes a configuration of one or more load control devices in a load control system. The user may perform one or more gestures to program the gesture-based control device.

CROSS REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No.13/835,594, filed Mar. 15, 2013, the contents of which are herebyincorporated by reference in their entirety.

BACKGROUND

A user environment, such as a residence or an office building forexample, may be configured using various types of load control systems.Load control systems may include lighting systems, motorized windowtreatment systems, heating, ventilation, and air-conditioning (HVAC)systems, or the like. Most load control systems require the use ofvarious devices for performing load control. Such load control systemsmay be embodied in a two-part load control system that includes acontrollable device for directly controlling the electrical load and acontrol device, such as a remote control, for indirectly controlling theelectrical load by sending instructions to the controllable device.Using such load control systems, a user may indirectly control anelectrical load using a control device.

FIG. 1 illustrates an example of a prior art load control environment102. As shown in FIG. 1, the load control environment 102 may includecontrollable devices and control devices. The controllable devices mayinclude a lighting control device 104 (e.g., a dimmer switch, a ballast,or a light-emitting diode (LED) driver) for directly controlling anamount of power provided to lighting load 106, a motorized windowtreatment 112 for controlling the position of covering material 114, athermostat 120 for controlling an HVAC system, and analternating-current (AC) plug-in load control device 122 for controllingthe amount of power provided to a floor lamp 124, table lamp, or theelectrical load of another device that is plugged in to the AC plug-inload control device 122. The control devices in the load controlenvironment 102 may include remote control device 116, a daylight sensor108, and/or an occupancy sensor 110. The remote control device 116 maycommunicate with load control devices via a wired or wirelesscommunication. The remote control device 116 may include a wirelessswitch, a wireless dimmer, a cellular phone, a tablet, or other wirelessremote control device.

The control devices in the load control system depicted in FIG. 1 mayprovide convenient ways for the user 118 to control an electrical load.These load control systems, however, require the user 118 to keep trackof one or more devices for controlling the system. A user's control mayalso be limited due to a predefined interface or the limitedinstructions provided by the control device.

Gesture recognition is a developing technology, which is beingconsidered for use in load control systems. Gesture recognition mayenable a user of an electronic device to send instructions to a loadcontrol device without the use of a remote control or a similar controldevice. Instead, an electronic device may capture an image of a user andrecognize a user's command by identifying a gesture indicated by theuser in the image. The electronic device may recognize the user'sgesture by identifying one or more predefined locations on the user'sbody and determining a predefined configuration of those points thatindicates a user command. Once the user command is determined, theelectronic device may send instructions to a device capable of carryingout the command.

FIG. 2 illustrates an example of a prior art example of a load controlenvironment 202 for gesture-based load control. As shown in FIG. 2, acomputer device 210 may be configured by a user 208 to recognize agesture performed by the user 208 and determine load controlinstructions based on the performed gesture. The user 208 may configurethe computer device 210 to recognize a region 212 around a lamp 204. Adigital camera 214 may track the user 208 and identify when the user 208is in proximity to the region 212. The user 208 may raise and lower anarm along a base 206 of the lamp 204 to control the power supplied tothe lamp 204. The user 208 may configure the computer device 210 torecognize these gestures within the region 202 and instruct the lamp 204to increase and decrease the power supplied to the lamp 204 when theuser 208 raises and lowers an arm. When the user 208 raises an arm alongthe base 206 of the lamp 204, the power supplied to the lamp 204 mayincrease. When the user 208 lowers an arm along the base 206 of the lamp204, the power supplied to the lamp 204 may decrease.

While load control systems are being developed that may allow forcontrolling devices using gesture-like movements, the current systemsare still inconvenient to use. The current systems are experimental andmay have to be entirely configured by the user. The current systems lackfeatures that would make them commercially viable. There are also manychallenges associated with developing a gesture-based load controlsystem that have not been addressed by current systems.

SUMMARY

A load control system may include load control devices for controllingan amount of power provided to an electrical load. As disclosed herein,load control devices may be capable of controlling the amount of powerprovided to the electrical load based on control instructions receivedfrom a gesture-based control device. The control instructions mayinclude load control instructions or another indication that causes theload control device to determine load control instructions forcontrolling an electrical load. The gesture-based control device mayidentify gestures performed by a user for controlling a load controldevice and provide control instructions to the load control device basedon the identified gestures.

The gestures may be identified by analyzing images (e.g., still-frameimages and/or video) of the user performing the gestures. The images maybe generated by a motion capture device. The motion capture device, orthe functionality thereof, may be included in a load control device, adevice controlled by the load control device, and/or a gesture-basedcontrol device. The gesture-based control device may determine askeletal outline of the user, and one or more coordinates thereon, foridentifying a gesture performed by the user. The gesture-based controldevice may identify the gesture by comparing the coordinates on theskeletal outline with the coordinates of one or more establishedgestures on the gesture-based control device.

A gesture may be associated with a load control device and/or controlinstructions for controlling a load control device. A user may indicatea load control device for being controlled by performing an associatedgesture. For example, the user may indicate a ballast for beingcontrolled by pointing to the ballast or the ballast's lighting fixture.When the load control device has been determined, the user may indicatethe control instructions for controlling the load control device byperforming an associated gesture. For example, the user may raise an armto send instructions to the identified ballast to increase the powerprovided to the lighting fixture.

A gesture may be associated with a scene that includes a configurationof one or more load control devices in a load control system. Toconfigure the load control devices according to the scene, the user mayperform the associated gesture. The gesture may indicate the loadcontrol devices for being controlled and the control instructions forbeing sent to each load control device.

Regional mapping configurations and vectors may be used to identify loadcontrol devices and/or control instructions. A regional mappingconfiguration may include a configuration of one or more regions of auser environment. The regional mapping configuration may include one ormore partitions that divide an image of a user and/or user environmentinto multiple regions. Each region may be associated with a load controldevice and/or control instructions. The gesture-based control device mayidentify a gesture performed by the user that indicates a region in theregional mapping configuration and determine the associated load controldevice and/or control instructions. The gesture-based control device mayalso identify a load control device indicated by a user by following avector from one or more coordinates on a user's skeletal outline. Thevector may point to the load control device, for example.

The user may engage and disengage the gesture-based control device byperforming an engage gesture and a disengage gesture, respectively. Theengage gesture may enable the gesture-based control device to identifyone or more load control gestures performed by the user. The disengagegesture may cause the gesture-based control device to be unable toidentify control instructions and/or to control a load control deviceuntil the user re-engages the gesture-based control device.

The user may perform one or more gestures to program the gesture-basedcontrol device to identify a gesture. The user may perform a programminggesture that may be identified by the gesture-based control device totrigger a programming mode. When the gesture-based control device is inprogramming mode, the user may program the gesture-based control deviceto identify a gesture. The user may perform a gesture and associate thatgesture with a region in a regional mapping configuration, a loadcontrol device, or control instructions. The gesture-based controldevice may store the association such that the gesture may be identifiedfor load control or control of the gesture-based control device.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 depicts an example prior art environment for controlling anelectrical load.

FIG. 2 depicts an example prior art environment for gesture-based loadcontrol.

FIG. 3 depicts an example environment for controlling devices usinggesture control.

FIG. 4 is a diagram depicting example coordinates that may be analyzedon a user's body.

FIG. 5 is a diagram illustrating example user movements forgesture-based load control.

FIG. 6 is a simplified flow diagram depicting an example method forperforming gesture-based control of one or more devices.

FIG. 7 is a simplified flow diagram depicting another example method forperforming gesture-based control of one or more devices.

FIG. 8 is a simplified flow diagram depicting an example method forengaging and disengaging a gesture-based control device for identifyinggestures.

FIGS. 9A-9E depict example gestures that may be identified forcontrolling devices.

FIG. 10 is a diagram depicting an example mapping configuration forgesture-based load control.

FIG. 11 is a simplified flow diagram depicting an example method forgesture-based load control using a regional mapping configuration.

FIG. 12 is a diagram illustrating an example for programming a regionalmapping configuration for gesture-based load control.

FIG. 13 is a simplified flow diagram depicting an example method forassociating a region of a regional mapping configuration with a deviceand/or control instructions.

FIG. 14 is a simplified flow diagram depicting an example method forassociating a gesture with a device.

FIG. 15 is a simplified flow diagram depicting an example method forassociating a gesture with control instructions.

FIG. 16A depicts an example load control environment for identifyingdevices using vectors.

FIG. 16B depicts an example load control environment for programming agesture-based control device to identify control devices using vectors.

FIG. 17 is a block diagram depicting an example system for performinggesture-based load control.

DETAILED DESCRIPTION

FIG. 3 depicts an example load control environment for controllingdevices using gesture control. As shown in FIG. 3, the load controlenvironment 302 may be installed with one or more load control devicesfor controlling the electrical loads within a room or building. Eachload control device may be capable of controlling the amount of powerprovided to an electrical load. A load control device may be acontrollable device capable of directly controlling an amount of powerprovided to an electrical load. Example load control devices may includea lighting control device 304 (e.g., a dimmer switch, a switchingdevice, a ballast, or an LED driver) for controlling the amount of powerprovided to a lighting fixture 306, a motorized window treatment 316 forcontrolling the position of a covering material 318, a thermostat 320for controlling an heating, ventilation, and air-conditioning (HVAC)system, and/or an AC plug-in load control device 324 for controlling theamount of power provided to a lamp (e.g., a floor lamp 326 or a tablelamp) or the electrical load of another device that is plugged in to theAC plug-in load control device 324.

Each of the load control devices may control the amount of powerprovided to an electrical load based on control instructions receivedfrom a gesture-based control device 328. The control instructions mayinclude load control instructions or another indication that causes theload control device to determine load control instructions forcontrolling an electrical load. The gesture-based control device 328 mayindirectly control the amount of power provided to an electrical load byproviding the control instructions to a controllable device. Thegesture-based control device 328 may communicate with the load controldevices via wired or wireless communications. The gesture-based controldevice 328 may send the instructions for controlling a load controldevice based on one or more gestures performed by user 322.

The gesture-based control device 328 may identify the user 322 and/orgestures performed by user 322 using a motion capture device 308. Themotion capture device 308 may include any device capable of capturingimages (e.g., still-frame images and/or videos). The motion capturedevice 308 may include a digital camera 310, an infrared (IR) camera314, and/or a depth sensor 312 for generating images of the gesturesperformed by user 322. The digital camera 310 may generate images of theuser 322 using visible light. The IR camera 314 may generate images ofthe user 322 using IR radiation. The depth sensor 312 may be used tocapture the three-dimensional (3D) aspects of the images. The depthsensor 312 may include an IR laser that may detect a distance of anobject from the motion capture device 308. The motion capture device 308may also include an RGB camera for capturing images using three basiccolor components (red, green, and blue) and/or one or more microphonesfor capturing audio. The RGB camera may be used for facial recognition.The microphones may capture audio for voice recognition or determiningcontrol instructions.

The motion capture device 308, or the functionality thereof, may beincluded in another device. The functionality of the motion capturedevice 308 may be included in a load control device, such as thelighting control device 304, the motorized window treatment 316, the ACplug-in load control device 324, and/or thermostat 320. Thefunctionality of the motion capture device 308 may be included in adevice controlled by the load control device, such as the lighting load306, the covering material 318, and/or the floor lamp 326. Thefunctionality of the motion capture device 308 may be included in thegesture-based control device 328.

The gesture-based control device 328 may identify the user 322 based onthe images received from the motion capture device 308. Thegesture-based control device 328 may obtain x, y coordinates or x, y, zcoordinates of one or more locations on the user 322. The gesture-basedcontrol device 328 may determine that the user 322 is a human based onthe one or more identified coordinates on the user 322. The coordinatesof the user 322 may be compared generally to an outline of a human todetermine that the user 322 is a human. The user coordinates may beidentified throughout the body of the user 322, or one or more sectionsof the user 322. For example, the user coordinates may be identified inthe user 322 from the waist up to identify the user 322 when the user322 is sitting down.

The gesture-based control device 328 may identify a gesture beingindicated by the user 322 based on the images generated by the motioncapture device 308. The gesture may be indicated by the user 322 holdinga position for a period of time to indicate a command and/or by the user322 performing one or more bodily movements that indicate a command. Thegesture-based control device 328 may identify one or more coordinates onthe user 322 and determine from the coordinates whether the user 322 issignaling a recognized command. The gesture-based control device 328 mayidentify the gesture by comparing the position or the movements of theuser 322 with one or more pre-defined gestures stored on thegesture-based control device 328. Each recognized gesture may beassociated with one or more load control devices and/or one or morecontrol instructions for controlling load control devices.

To engage the gesture-based control device 328 for identifying loadcontrol commands, the user 322 may perform an engage gesture. The engagegesture may be captured by the motion capture device 308 and may beidentified by the gesture-based control device 328 to put thegesture-based control device 328 in a load control mode for controllingone or more load control devices based on an identified gestureperformed by the user 322. The motion capture device 308 and/orgesture-based control device 328 may indicate to the user 322 that thegesture-based control device 328 is engaged. For example, the motioncapture device 308 and/or gesture-based control device 328 may flash anindicator light after the gesture-based control device 328 is engaged.The gesture-based control device 328 may indicate that it is engaged bysending instructions to a load control device. For example,gesture-based control device 328 may instruct the lighting controldevice 304 to flash the lighting load 306, instruct the motorized windowtreatment 316 to change the position of covering material 318 (e.g., jogthe covering material 318 up or down a predetermined amount, wiggle thecovering material 318, or tilt the covering material 318), and/orinstruct the AC plug-in load control device 324 to flash the floor lamp326.

The engaged gesture-based control device 328 may identify one or moregestures performed by user 322. The period of time for which thegesture-based control device 328 is engaged may be a pre-determinedperiod of time or until the user 322 disengages the gesture-basedcontrol device 328. The user 322 may re-engage the gesture-based controldevice 328 after each identified gesture or the user 322 may performconsecutive gestures for a period of time without re-engaging thegesture-based control device 328. The user 322 may disengage thegesture-based control device 328 by performing a disengage gesture thatmay cause the gesture-based control device 328 to be unable to control aload control device until the user 322 re-engages the gesture-basedcontrol device 328.

The user 322 may perform one or more gestures to indicate a load controldevice and/or control instructions to be sent to a load control device.The user 322 may be indicate the load control device to which thegesture-based control device 328 may send the control instructions bypointing in the direction of the load control device, touching the loadcontrol device, placing a portion of the user 322's body in between theload control device and the motion capture device 308, or otherwiseidentifying the load control device that the user 322 would like tocontrol. For example, the user 322 may perform a gesture to indicate thelighting control device 304 and to send load control instructions to thelighting control device 304 for controlling the lighting load 306.

In an example, the user 322 may perform a gesture to identify the loadcontrol device that the user 322 would like to control and performanother gesture to control the load control device. For example, theuser 322 may point to the thermostat 320 to indicate the thermostat 320as the load control device that the user 322 would like to control andthe user 322 may point up to raise the temperature of the load controlenvironment 302. The gesture-based control device 328 may identify thethermostat 320 from the user 322 pointing to the thermostat 320 and mayinstruct the thermostat 320 to increase the temperature in the loadcontrol environment 302 based on the user 322 pointing up. Thetemperature may be increased by a predetermined amount, such as onedegree, for each time the user 322 points up. The temperature may beincreased for each period of time, e.g., each second, the user 322 holdsthe gesture. The user 322 may identify the load control device with onearm and control the load with the other arm.

In another example, the gesture may identify the load control devicethat the user 322 would like to control and indicate the controlinstructions to be sent to the load control device. For example, thegesture-based control device 328 may identify a gesture performed by theuser 322 that may cause the gesture-based control device 328 to identifythe lighting control device 304, the AC plug-in load control device 324,and the motorized window treatment 316 and send control instructions toeach of the devices 304, 324, 316 for controlling an amount of powerprovided to a corresponding electrical load. The user 322 may lower anarm to instruct the lighting control device 304 to decrease the powerprovided to the lighting load 306, instruct the AC plug-in load controldevice 324 to decrease the power provided to the floor lamp 326, and/orinstruct the motorized window treatment 316 to lower the coveringmaterial 318.

The gesture-based control device 328 may distinguish between users. Forexample, the gesture-based control device 328 may use the coordinates ofuser 322 to distinguish the user 322 from other users that may have adifferent set of coordinates or body structure. The gesture-basedcontrol device 328 may distinguish between users based on facialrecognition, gesture recognition, voice recognition, and/or the like.The facial recognition may be performed using images from an RGB cameraon the motion capture device 308. The voice recognition may be performedbased on one or more microphones on the motion capture device, on thegesture-based control device 328, on one or more load control devices,on one or more devices control by a load control device, and/or locatedelsewhere in the load control environment 302.

The gesture-based control device 328 may receive and identify audiocommands for controlling load control devices using the one or moremicrophones. A microphone in the load control environment 302 may recordaudio or capture a live audio stream. The audio commands may be pairedwith gestures to determine a load control device and/or controlinstructions for controlling the load control device. For example, theuser 322 may point to the lighting control device 304 and say “turn on”to command the lighting load control device to turn on the lighting load306. The audio commands may also be used to identify the device. Theuser 322 may say “thermostat” to identify the thermostat 320 and mayraise an arm to increase the temperature of the load control environment302 using the thermostat.

FIG. 4 is a diagram depicting example coordinates that may be analyzedon a user body 400. The coordinates may be determined at a gesture-basedcontrol device, such as the gesture-based control device 328, fromimages of the user body 400 that may be generated by a motion capturedevice, such as the motion capture device 308. The coordinates may bemapped to coordinates on a skeletal outline 402 of the user body 400.The skeletal outline 402 may be determined by measuring from theexterior surface of the user body 400. The skeletal outline 402 may bedetermined on a two-dimensional or three-dimensional plane. Eachcoordinate on the skeletal outline 402 may be an x,y coordinate in thetwo-dimensional plane or an x, y, z coordinate in the three-dimensionalplane.

A user may be identified based on one or more coordinates on theskeletal outline 402. For example, the user may be identified based on ahead coordinate 404, hand coordinates 412, 418, and feet coordinates428, 434. The coordinates on the skeletal outline 402 may be determinedbased on their location within the user body 400 and/or their proximityto one or more other coordinates on the skeletal outline 402.

The head coordinate 404 may be identified by measuring to the center ofthe head of the user body 400. The head coordinate 404 may be located atthe highest point on the skeletal outline 402. A left hand coordinate412 and a right hand coordinate 418 may be located at the end of thearms of the skeletal outline 402. Each arm of the skeletal outline 402may include a coordinate at each of the joints. The left arm may includea left elbow coordinate 410 and a left shoulder coordinate 408. Theright arm may include a right elbow coordinate 416 and a right shouldercoordinate 414. The shoulder coordinates 408, 414 may be located at thetop of the arms of the skeletal outline 402. The skeletal outline 402may include a chest coordinate 406 located in between the shouldercoordinates 408, 414. A left foot coordinate 428 and a right footcoordinate 434 may be located at the end of the legs of the skeletaloutline 402. The left leg of the skeletal outline 402 may include a leftknee coordinate 426 and a left hip coordinate 424. The right leg of theskeletal outline may include a right knee coordinate 432 and a right hipcoordinate 430. The hip coordinates 424, 430 may be located at the topof the legs of the skeletal outline 402. The skeletal outline 402 mayinclude a hip center coordinate 422 located in between the hipcoordinates 424, 430. A spinal coordinate 420 may be located on thespine of the skeletal outline 402.

The coordinates located at the joints of the skeletal outline 402 may beidentified when the user moves at the corresponding joint. For example,the shoulder coordinates 408, 414, the elbow coordinates 410, 416, andthe knee coordinates 426, 432 may be determined when the user body 400moves at the corresponding joints. The skeletal outline 402 may includewrist and ankle coordinates (not shown) to identify movements orpositions of the user body 400 using hands and feet. The skeletaloutline 402 may include finger coordinates (not shown) to identify usergestures using fingers, such as pointing gestures, gestures indicating adirection, gestures indicating a number, or the like.

The coordinates may be analyzed to identify the user and/or identify agesture indicated by the user. Each coordinate may be used to track acorresponding body part. The position or movement of the user body 400may be identified based on the movement or position of one or morecoordinates. The movement or position of each coordinate may beidentified based on its relation to one or more other coordinates on theskeletal outline 402. For example, a user's left arm may be identifiedas raising laterally from the user's side when the left hand coordinate412 and/or the left elbow coordinate 410 are identified as approaching ahorizontal line from the shoulder coordinate 408. The position ormovement of one or more identified coordinates may be compared to one ormore established coordinates to identify a gesture being indicated bythe user.

Each user may be identified based on the location of one or morecoordinates. The distance between two coordinates on a user may bedifferent than the distance between the coordinates on another user. Forexample, a taller user may have a larger distance between headcoordinate 404 and feet coordinates 428, 434 than a shorter user whenthe two users are in a standing position. A user may be associated witha unique identifier that corresponds to the coordinates on the skeletaloutline 402. Each skeletal outline 402 may be associated with adifferent unique identifier for identifying different users. Differentgestures, commands, and/or control instructions may be associated witheach user or user identifier.

FIG. 5 is a diagram illustrating example user movements forgesture-based load control. As shown in FIG. 5, the skeletal outline 502of a user may be analyzed to identify a gesture being indicated by theuser. For example, one or more coordinates on the skeletal outline 502may be identified and the coordinates may correspond, or come within athreshold of, the coordinates of an established gesture for indicating aload control device and/or control instructions for controlling a loadcontrol device.

A gesture may be identified based on the position of the skeletaloutline 502. The position of the skeletal outline 502 may be determinedbased on one or more coordinates of the skeletal outline 502. Thegesture indicated by skeletal outline 502 may be identified bydetermining the hand coordinates 508, 518 and elbow coordinates 510,516. An established gesture that may be identified when the handcoordinates 508, 518 and elbow coordinates 510, 516 are on thehorizontal line 504 with shoulder coordinates 512, 514. The establishedgesture may also be identified when the hand coordinates 508, 518 andelbow coordinates 510, 516 are within a threshold (e.g., one foot) ofthe horizontal line 504. The horizontal line 504 maybe established at,or within a threshold of, shoulder coordinates 512, 514.

A gesture may be identified based on a movement performed by theskeletal outline 502. The movement of the skeletal outline 502 may bedetermined based on one or more coordinates of the skeletal outline. Anestablished gesture that may be identified when the hand coordinates508, 518 and elbow coordinates 510, 516 move toward or away from thehorizontal line 504. For example, when the hand coordinates 508, 518 andelbow coordinates 510, 516 move toward the horizontal line 504, anestablished gesture may be identified that causes control instructionsto be sent to a ballast for increasing a dimming level of a lightingfixture of the ballast.

Multiple gestures may be identified within a same time period. Forexample, an established gesture may be identified for indicating a loadcontrol device, such as a motorized window treatment for example, whenthe left hand coordinates 508, left elbow coordinates 510, and leftshoulder coordinates 512 come within a threshold of the horizontal line504. Within a same period of time, an established gesture may beidentified for indicating control instructions for controlling themotorized window treatment when the right hand coordinates 518, rightelbow coordinates 516, and right shoulder coordinates 514 move towardthe horizontal line 504. For example, the identified gesture may causethe identified motorized window treatment to raise the position of thecovering material controlled by the motorized window treatment.

The speed at which a gesture is performed may be identified. The speedmay be identified by tracking the speed of one or more coordinates onthe skeletal outline 502. For example, the speed at which the right handcoordinates 518 moves toward the horizontal line 504 may be tracked. Thespeed at which a gesture is performed may be used to indicate a loadcontrol device or control instructions. The speed at which a gesture isperformed may be used to indicate a speed at which an electrical loadcontrolled by the load control device may be controlled. For example,the speed at which the right hand coordinates 518 moves toward thehorizontal line 504 may be identified and the control instructions sentto the identified motorized window treatment may indicate a speed forraising the position of the covering material controlled by themotorized window treatment based on the speed at which the right handcoordinates 518 moves.

The speed indicated in the control instructions may be based on thespeed at which the right hand coordinates 518 move toward the horizontalline 504, taking into consideration the operation speed of the devicebeing controlled. The speed indicated in the control instructions may bethe same speed at which the right hand coordinates 518 move toward thehorizontal line 504 or otherwise determined from the speed at which theright hand coordinates 518 move toward the horizontal line 504. Forexample, the speed at which the coordinates 518 move may be a percentageof the speed indicated in the control instructions or the speedindicated in the control instructions may be a percentage of the speedat which the coordinates 518 move. When multiple coordinates are used,the speed of the coordinates may be averaged or the speed of eachcoordinates may be weighted to determine the speed indicated in thecontrol instructions.

The distance over which a gesture is performed may be identified. Thedistance may be identified by tracking the distance over which one ormore coordinates on the skeletal outline 502 move. For example, thedistance over which the right hand coordinates 518 move toward thehorizontal line 504 may be tracked. The distance over which a gesture isperformed may be used to indicate a load control device or controlinstructions. The distance over which a gesture is performed may be usedto indicate a distance or range over which a device controlled by theload control device may be instructed to change. For example, thedistance over which the right hand coordinates 518 move between thehorizontal line 506 and the horizontal line 504 may be identified andthe control instructions sent to an identified motorized windowtreatment may indicate a distance for raising the position of thecovering material controlled by the motorized window treatment. Thehorizontal line 506 may be a horizontal line at the hip-centercoordinate or the waist of the user. In another example, the distanceover which the right hand coordinates 518 move between the horizontalline 506 and the horizontal line 504 may be identified and the controlinstructions sent to an identified ballast may indicate a range forincreasing or decreasing the dimming level of a lighting load controlledby the ballast.

The distance or range indicated in the control instructions may be basedon the distance over which the coordinates move between the horizontalline 504 and horizontal line 506, taking into consideration the distanceor range over which the device being controlled may be configured tochange. The horizontal line 504 may represent a maximum level forchanging the device being controlled, such as a maximum height forraising a covering material or a maximum dimming level, and thehorizontal line 506 may represent a minimum level for changing thedevice being controlled, such as the minimum height for lowering acovering material or a minimum dimming level. When the coordinates moveabove the horizontal line 504 or below the horizontal line 506 thegesture being performed maybe disregarded. As the covering material maybe at a maximum height or the dimming level may be at a maximum when theuser moves the right hand coordinates 518 to the horizontal line 504,the gesture-based control device may fail to send control instructionswhen the right hand coordinates 518 move above the horizontal line 504.In another example, the gesture-based control device may send theinstructions and the load control device may disregard the instructions.

The distance indicated in the control instructions may be the samedistance over which the coordinates move between the horizontal line 504and the horizontal line 506. The distance indicated in the controlinstructions may be otherwise determined from the distance over whichthe coordinates move between the horizontal line 504 and the horizontalline 506. For example, the distance over which the coordinates move maybe a percentage of the distance indicated in the control instructions orthe distance indicated in the control instructions may be a percentageof the distance over which the coordinates move. When multiplecoordinates are used, the distance over which the coordinates move maybe averaged or each of the coordinates may be weighted.

The absolute position at which a gesture is performed may be identifiedand used to control an electrical load provided by a load controldevice. The absolute position of a gesture may be identified based onthe position of one or more coordinates on the skeletal outline 502. Theabsolute position at which a gesture is performed may be used toindicate a load control device or control instructions. The absoluteposition at which a gesture is performed may be used to indicate anamount of change that may be effected by the load control device. Forexample, the right hand coordinates 518 may be identified at a positionbetween the horizontal line 506 and the horizontal line 504 (e.g., for aperiod of time) and control instructions may be sent to the motorizedwindow treatment that indicate a position for the covering materialcontrolled by the motorized window treatment. If the right handcoordinates 518 are identified (e.g., for a period of time) halfwaybetween the horizontal line 504 and the horizontal line 506, themotorized window treatment may change the position of the coveringmaterial (e.g., raise or lower) to a halfway position. The gesture-basedcontrol device may track the position of the right hand coordinates 518and actively raise and lower the covering material as the position ofthe right hand coordinates 518 raises and lowers.

FIG. 6 is a simplified flow diagram depicting an example method 600 forperforming gesture-based control of one or more load control devices.The method 600 may be performed using a motion capture device and/or agesture-based control device (e.g., the motion capture device 308 andthe gesture-based control device 328 shown in FIG. 3). The method 600may begin at 602. At 604, a user may be identified via the motioncapture device. The motion capture device may generate images thatinclude the user. The user may be identified by the motion capturedevice or the motion capture device may send the images to thegesture-based control device for user identification. The user may beidentified by analyzing one or more images to detect coordinatesassociated with the user's body.

The gesture indicated by the user may be identified at 606. The gesturemay be identified by comparing the location of the coordinatesassociated with the user's body with the coordinates of one or moreestablished gestures. For example, the left hand coordinates and theright hand coordinates of a skeletal outline of a user may be comparedwith the left hand coordinates and the right hand coordinates of agesture stored at the gesture-based control device. At 608, the loadcontrol device associated with the identified gesture may be determined.The control instructions associated with the identified gesture may bedetermined at 610. The load control device and the control instructionsmay be determined from the same gesture or from different gestures. Thelocation of the left hand coordinates and the right hand coordinates ofthe user's skeletal outline may indicate control instructions forcontrolling a lighting control device. In another example, the left handcoordinates may indicate the load control device and the right handcoordinates may indicate the control instructions for the load controldevice. For example, the left hand coordinates may indicate a lightingcontrol device for being controlled and the right hand coordinates mayindicate the control instructions for controlling the lighting controldevice. At 612, the control instructions may be sent to the load controldevice. The method 600 may end at 614.

FIG. 7 is a simplified flow diagram depicting an example method 700 forperforming gesture-based control of one or more load control devices.The method 700 may be performed using a motion capture device and/or agesture-based control device. The method 700 may begin at 702. At 704, auser may be identified via the motion capture device. An engage gesturemay be identified at 706 for engaging the gesture-based control device(e.g., the motion capture device 308 and the gesture-based controldevice 328 shown in FIG. 3). The engage gesture may be identified afterbeing indicated for an established period of time, such as a threesecond period of time for example. The engage gesture may include one ormore gestures (e.g., a sequence of gestures) that may be unlikely to beperformed by a user by mistake. For example, the user may perform amovement that is unlikely to be performed by a user when the user is notengaging the gesture-based control device. In another example, theengage gesture may be performed for a longer period of time (e.g., 10-20seconds) than other gestures may be performed, such as gestures that maybe recognized by the gesture-based control device or that may be likelyto be performed naturally by the user.

A load control gesture may be identified at 708. The load controlgesture identified at 708 may be used to configure a scene in the userenvironment. The configured scenes may include a movie scene forconfiguring one or more load control devices for watching a movie, abedtime scene for one or more load control devices when the user goes tobed, an away scene for controlling one or more load control devices whenthe user is away from the user environment, a stay scene for controllingone or more load control devices when the user is located in the userenvironment, or the like. The scene configuration may be determinedbased on user input. At 710, one or more load control devices associatedwith the detected scene may be determined. One or more controlinstructions associated with the detected scene may be determined at712. At 714, the control instructions for the detected scene may be sentto the one or more load control devices. For an away scene, for example,the lighting control devices may dim the lighting fixtures to apredetermined level or turn the lighting fixtures off, the motorizedwindow treatment may lower the position of the covering material for thewindows, and/or the thermostat may be turned up (e.g., in the summer) ordown (e.g., in the winter) to reduce power consumption while the user isaway. The control instructions determined at 712 and sent at 714 mayinclude an indication of the detected scene and the one or more loadcontrol devices may determine how to control their respective electricalloads in response to the indication of the detected scene. The method700 may end at 716.

Referring again to the load control environment 302 in FIG. 3, the user322 may perform a load control gesture that indicates a scene forcontrolling one or more load control devices in the load controlenvironment 302. For example, the gesture-based control device 328 mayidentify a load control gesture that indicates a bedtime scene and mayinstruct the lighting control device 304 to decrease the power providedto the lighting load 306, instruct the AC plug-in load control device324 to decrease the power provided to the floor lamp 326, instruct themotorized window treatment 316 to lower the covering material 318,and/or instruct the thermostat 320 to decrease the temperature in theload control environment 302 according to the detected bedtime scene.

FIG. 8 is a simplified flow diagram depicting an example method 800 forengaging and disengaging a gesture-based control device for identifyingload control gestures. The method 800 may be performed using a motioncapture device and/or a gesture-based control device (e.g. the motioncapture device 308 and the gesture-based control device 328 shown inFIG. 3). The method 800 may begin at 802. At 804, a user may beidentified via the motion capture device. The engage gesture may beidentified at 806 for engaging the gesture-based control device foridentifying load control gestures. For example, the gesture-basedcontrol device may identify the right hand or left hand coordinates of askeletal outline of a user as being held above the user's head for aperiod of time to disengage the gesture-based control device. The usermay also perform the engage gesture by moving a left hand or a righthand along a vertical line, as if to indicate a “turn-on” gesture forexample. If the engage gesture is not identified at 806, the method 800may end at 816. If the engage gesture is identified at 814, the method800 may continue to identify a load control gesture at 808. Theidentification of the engage gesture at 806 may enable the gesture-basedcontrol device to identify the load control gesture at 808. Withoutidentifying the engage gesture, the gesture-based control device may beunable to identify other control instructions for controlling the loadcontrol device or the gesture-based control device. At 810, the loadcontrol device and/or the control instructions associated with theidentified gesture may be determined. The control instructions may besent to the load control device at 812.

At 814, a disengage gesture may be identified. For example, thegesture-based control device may identify the right hand or left handcoordinates of a skeletal outline of a user as being held below theuser's shoulder for a period of time to engage the gesture-based controldevice. The user may also perform the disengage gesture by moving a lefthand or a right hand across a horizontal line, as if to indicate a“clearing” or “sweeping” gesture for example, or along a vertical line,as if to indicate a “turn-off” gesture for example. The disengagegesture may cause the gesture-based control device to be unable toidentify a load control gesture until the engage gesture is identified.If the disengage gesture is identified at 814, the method may end at816. If the disengage gesture is not identified at 814, the method 800may continue to identify load control gestures at 808.

FIGS. 9A-9E depict example gestures that may be identified forcontrolling load control devices. As shown in FIGS. 9A and 9B, a gesturemay be performed with one arm. The arm may be raised as illustrated bygesture 902 or may be lowered as illustrated by gesture 904. As shown inFIGS. 9C and 9D, a gesture may be performed with two arms. The arms maybe raised as illustrated at 906 or may be lowered as illustrated at 908.Each of the gestures 902-908 may be used to indicate one or more loadcontrol devices and/or one or more control instructions. The gestures902-908 may indicate a command to control the gesture-based controldevice. One or more of the gestures 902-908 may be used to engage thegesture-based control device, disengage the gesture-based controldevice, or put the gesture-based control device into a programming mode.For example, the engage gesture may be the gesture 902 shown in FIG. 9Aand/or the disengage gesture may be the gesture 904 shown in FIG. 9B.

As shown in FIG. 9E, a gesture may be performed to control one or moreload control devices according to an established scene. The sleepgesture 910 may be performed to control one or more load control devicesaccording to a bedtime scene. As illustrated by the sleep gesture 910,an established gesture may illustrate the scene to which it isassociated. The sleep gesture 910 is performed by a user placing theirhands next to their head to depict the user sleeping. If facialrecognition is used, the user's eyes may be closed to indicate the sleepgesture 910.

FIG. 10 is a diagram depicting an example regional mapping configuration1000 for gesture-based load control. The regional mapping configuration1000 may include a configuration of one or more regions of a userenvironment. The regional mapping configuration 1000 may be used toidentify load control devices and/or control instructions indicated by auser gesture, such as when the user is facing the motion capture devicefor example. The regional mapping configuration 1000 may include anumber of two-dimensional and/or three-dimensional regions, such asregions 1004 and 1006 for example. Each region 1004, 1006 may beassociated with one or more load control devices and/or controlinstructions. The partition 1008 between regions 1004 and 1006 may beused to divide the regions of the user environment. The partition 1008between regions 1004 and 1006 may be used to divide coordinates on theskeletal outline 1002. The partition 1008 may move with the skeletaloutline 1002 to distinguish gestures performed with the left arm 1010 orleft leg 1014 from gestures performed by the right arm 1012 or right leg1016.

Different load control devices and/or control instructions may beindicated based on gestures performed in each region 1004, 1006. Thegesture may be identified based on one or more coordinates on theskeletal outline 1002. When one or more coordinates on the left arm 1010of the skeletal outline 1002 indicate a gesture, the load controldevices and/or control instructions associated with that gesture may beidentified. When one or more coordinates on the right arm 1012 of theskeletal outline 1002 indicate a gesture, the load control devicesand/or control instructions associated with that gesture may beidentified. The same gesture performed in each region 1004, 1006 mayindicate a different command.

FIG. 11 is a simplified flow diagram depicting an example method 1100for gesture-based load control using regional mapping configurations.The method 1100 may be performed using a motion capture device and/or agesture-based control device (e.g., the motion capture device 308 andthe gesture-based control device 328 shown in FIG. 3). The method 1100may begin at 1102. At 1104, a first gesture associated with a loadcontrol device may be identified in a region of a regional mappingconfiguration, such as the region 1004 of the regional mappingconfiguration 1000 in FIG. 10. At 1106, a second gesture associated withcontrol instructions for the load control device may be identified in aregion of a regional mapping configuration, such as the region 1006 ofthe regional mapping configuration 1000 in FIG. 10. The first gestureand the second gesture may be identified in the same region or differentregions of the regional mapping configuration. The first gesture and thesecond gesture may be the same or different gestures. The first gesturemay be identified based on the coordinates of the user's left arm in theregion 1004 and the second gesture may be the same gesture identifiedbased on the coordinates of the user's right arm in region 1006, forexample. In another example, the first gesture may be identified basedon the coordinates of the user's left arm in the region 1004 and thesecond gesture may be identified based on the coordinates of the user'sright arm in the same region 1004.

The load control device may be determined at 1108 based on the firstgesture and the region in which the first gesture is identified.Different gestures in the same region may indicate different loadcontrol devices. The same gesture in a different region may indicate adifferent load control device. For example, the user's left arm beinglocated above the user's head in the region 1004 may indicate adifferent load control device than the user's left arm being locatedbelow the user's head in the region 1004. The user's right arm beinglocated above the user's head in the region 1006 may indicate adifferent load control device than the user's left arm being locatedabove the user's head in the region 1004.

The control instructions for controlling the load control device may bedetermined at 1108 based on the second gesture and the region in whichthe second gesture is identified. Different gestures in the same regionmay indicate different control instructions. The same gesture in adifferent region may indicate a different load control device. Forexample, the user's left arm being raised in the region 1004 mayindicate a different control instruction than the user's left arm beinglowered in region 1004. The user's right arm being raised in the region1006 may indicate a different control instruction than the user's leftarm being raised in the region 1004. The control instructions may besent to the identified load control device at 1110. The method 1100 mayend at 1112.

FIG. 12 is a diagram illustrating an example for programming a regionalmapping configuration 1200 for gesture-based load control. A user mayprogram the regional mapping configuration 1200 at the gesture-basedcontrol device using one or more gestures. The user may put thegesture-based control device in programming mode by performing aprogramming gesture. The gesture-based control device may identify theprogramming gesture by analyzing one or more coordinates of the skeletaloutline 1002 of the user. When the gesture-based control deviceidentifies the programming gesture it may enter a programming mode.

The user may perform a gesture to add a region to a regional mappingconfiguration, such as the regional mapping configuration 1000 of FIG.10, to create regional mapping configuration 1200. The regional mappingconfiguration 1200 may include the regions 1004 and 1006, which may beseparated by partition 1008. The user may perform a gesture to createthe region 1202. For example, the user may perform a gesture to indicatea load control device in the region 1202. The region 1202 may be createdto include the identified load control device. The partition 1204 may begenerated to include the identified load control device within theregion 1202. The partition 1204 may be generated automatically toinclude the identified load control device within the region 1202 or maybe created by the user. The control instructions may be automaticallyassociated with the identified load control device or programmed by theuser.

The regional mapping configuration 1200 may be generated to distinguishbetween gestures performed in different location. The regions 1004 and1202 may also be used to identify gestures for indicating controlinstructions that may be performed at a higher location or a lowerlocation, respectively. The regional mapping configuration 1200 may beused to distinguish between gestures performed at the higher location,e.g., in region 1004, and the lower location, e.g., in region 1202. Theregion 1202 may be generated to identify gestures to load controldevices at a lower location, such as a floor lamp or an AC-plug-incontrol device. The region 1004 may be used to identify gestures to loadcontrol devices at a higher location, such as a lighting fixture in theceiling.

The region 1202 may be created by the user inserting the partition 1204in region 1004. The left hand coordinates 1206 may be identified asindicating the partition 1204, such as by running horizontally along thepartition 1204 or by remaining at the location of the partition 1204 fora period of time. The region 1202 may be associated with one or moregestures, load control devices, and/or control instructions. As region1004 may be modified upon the creation of region 1202, region 1004 maybe reconfigured, such as by being associated with one or more gestures,load control devices, and/or control instructions.

The user may perform a gesture to remove the region 1202 from theregional mapping configuration 1200. The user may put the gesture-basedcontrol device in programming mode for removing the region 1202. Theprogramming gesture for removing the region 1202 may be different thanthe programming gesture for creating the region 1202. The user mayperform a gesture to remove the region 1202. The user may indicate thedevice in the region 1202 for removing the region 1202. The user mayindicate the removal of partition 1204, such as by running the user'shand horizontally along the partition 1204 or by holding the user's handat the location of the partition 1204 for a period of time. As theregion 1202 may be removed, the region 1004 or the region 1006 mayoccupy the region 1202 area. In an example, the space that occupied theregion 1202 may be unassociated with a load control device or controlinstructions after the region 1202 is removed.

FIG. 13 is a simplified flow diagram depicting an example method 1300for associating a region of a regional mapping configuration with a loadcontrol device and/or control instructions. The method 1300 may beperformed using a motion capture device and/or a gesture-based controldevice (e.g., the motion capture device 308 and the gesture-basedcontrol device 328 shown in FIG. 3). The method 1300 may begin at 1302.A programming gesture may be identified at 1304. Identification of theprogramming gesture may enable the gesture-based control device toreceive programming instructions for programming one or more functionson the gesture-based control device. The programming gesture may triggera programming mode for associating a region with a load control deviceand/or control instructions. The programming gesture may include one ormore gestures (e.g., a sequence of gestures) that may be unlikely to beperformed by a user by mistake. For example, the user may perform amovement that is unlikely to be performed by a user when the user is notprogramming the gesture-based control device. The programming gesturemay be performed for a longer period of time (e.g., 10-20 seconds) thanother gestures may be performed, such as gestures that may be recognizedby the gesture-based control device or that may be likely to beperformed naturally by the user.

At 1306, a gesture may be identified that indicates a region. The usermay point in the direction of the region or place a portion of theuser's body in the in the region to indicate the region. The region maybe a two-dimensional or three-dimensional region. One or more loadcontrol devices and/or control instructions may be identified at 1308for being associated with the region. The load control device may beidentified at 1308 by analyzing a gesture performed by the user that isassociated with the load control devices and/or the controlinstructions. A load control device may be identified by actuating abutton on the load control device that triggers identificationinformation associated with the load control device. The load controldevice may be located within the region indicated at 1306 or may beoutside of the indicated region. The identified region may be associatedwith the identified load control device and/or control instructions at1310. For example, the gesture-based control device may store theassociation of one or more coordinates of the user for indicating theload control device and/or control instructions with the identifiedregion. Once the region is associated with the load control deviceand/or control instructions, the user may gesture to the region orperform an associated gesture in the region to send the controlinstructions to the associated load control device. The method 1300 mayend at 1312.

FIG. 14 is a simplified flow diagram depicting an example method 1400for associating a gesture with a load control device. The method 1400may be performed using a motion capture device and/or a gesture-basedcontrol device (e.g., the motion capture device 308 and thegesture-based control device 328 shown in FIG. 3). The method 1400 maybegin at 1402. A programming gesture may be identified at 1404. Theprogramming gesture may trigger a programming mode for associating agesture with a load control device. The programming gesture identifiedat 1404 may be the same as or different from the programming gestureperformed at 1304 in FIG. 13.

A load control device may be identified at 1406 for being associatedwith a gesture for identification. For example, the load control devicemay be identified at 1406 by analyzing a gesture performed by the userthat is already associated with the load control device. The gesture mayindicate the load control device itself or a region associated with theload control device. For example, the user may point in the direction ofthe load control device or place a portion of the user's body in the inthe region associated with the load control device. A load controldevice may be identified at 1406 by a user actuating a button on theload control device that triggers identification information associatedwith the load control device.

A gesture may be identified at 1408 that may be used for indicating theload control device. For example, the identified load control device maybe a lighting control device and a user may point upward toward theceiling to indicate the load control device. The gesture-based controldevice may detect that the user is programming another gesture forindicating the load control device. The gesture identified at 1408 maybe a predefined gesture (e.g., which may be unassociated or associatedwith another device) recognized by the gesture-based control device ormay be a gesture unknown to the gesture-based control device. Thegesture identified at 1408 may be associated with the load controldevice at 1410. The gesture-based control device may associate theuser's gesture toward the ceiling with the lighting control device suchthat the gesture-based control device is programmed to identify thelighting control device when the user points up toward the ceiling. Theassociation may be stored at the gesture-based control device such thatthe gesture can be identified for indicating the load control device.The gesture identified at 1408 may replace the gesture used to indicatethe load control device at 1406 or may be used as an additionalindication. Once the gesture identified at 1408 is associated with theload control device, the user may perform the gesture to indicate theload control device. The method 1400 may end at 1412.

The gesture-based control device may determine the load control deviceindicated by a user and may automatically associate control instructionswith the load control device or may associate the control instructionswith the load control device based on user gestures. For example, thegesture-based control device may identify a gesture to a ballast basedon one or more images from a motion capture device and may automaticallyassociate the ballast with control instructions for controlling theballast's lighting fixture. In another example, the gesture-basedcontrol device may identify a gesture to the ballast and may identify agesture indicating control instructions for being associated with theballast. The association may be stored at the gesture-based controldevice such that ballast may be controlled by the associated controlinstructions.

FIG. 15 is a simplified flow diagram depicting an example method 1500for associating a gesture with control instructions. The method 1500 maybe performed using a motion capture device and/or a gesture-basedcontrol device (e.g., the motion capture device 308 and thegesture-based control device 328 shown in FIG. 3). The method 1500 maybegin at 1502. A programming gesture may be identified at 1504. Theprogramming gesture may trigger a programming mode for associating agesture with control instructions. The programming gesture identified at1504 may be the same as or different from the programming gestureperformed at 1304 in FIG. 13 and/or the programming gesture performed at1404 in FIG. 14.

At 1506, a gesture may be identified that indicates controlinstructions. The control instructions may include control instructionsthat are associated with a load control device. For example, thegesture-based control device may identify a gesture for increasing thedimming level of a lighting load when the user raises an arm and maydetect that the user is programming another gesture for increasing thedimming level of the lighting load. A gesture may be identified at 1508that may be used for indicating control instructions. The user may pointup to indicate another gesture for increasing the dimming level of thelighting load. The gesture identified at 1508 may be a predefinedgesture recognized by the gesture-based control device or may be agesture unknown to the gesture-based control device. The gestureidentified at 1508 may be associated with the control instructions at1510. The gesture-based control device may associate the user pointingup with the control instructions for increasing the dimming level of alighting load such that the gesture-based control device is programmedto identify the control instructions for increasing the dimming level ofa lighting load when the user points up. The association may be storedat the gesture-based control device such that the gesture can beidentified for indicating the control instructions. The gestureidentified at 1508 may replace the gesture used to indicate the loadcontrol instructions at 1506 or may be used as an additional indication.Once the gesture identified at 1508 is associated with the controlinstructions, the user may perform the gesture to indicate the controlinstructions. The method 1500 may end at 1512.

FIG. 16A depicts an example load control environment for identifyingload control devices using vectors. As shown in FIG. 16A, a lightingcontrol device 1602 (e.g., a dimmer switch, a switching device, aballast, or an LED driver), and/or the electrical load that it controls,such as the lighting load of lighting fixture 1604, may be identifiedusing a vector 1616. To identify the lighting fixture 1604 and/or theballast 1602, a user may gesture to the lighting fixture 1604 and/or theballast 1602. The motion capture device 1606 may capture an image of theuser, the lighting fixture 1604, and/or the ballast 1602 and send theimage to the gesture-based control device 1614. The gesture-basedcontrol device 1614 may identify the skeletal outline 1612 based on oneor more coordinates thereon.

The gesture-based control device 1614 may identify a gesture to thelighting fixture 1604. The gesture-based control device 1614 mayidentify the gesture to the lighting fixture 1604 using vector 1616. Thegesture-based control device 1614 may use the hand coordinates 1618 ofthe skeletal outline 1612 as a point of origin for the vector 1616. Thepoints on the vector 1616 may be determined and followed to a position(e.g., a point or area) that represents the lighting fixture 1604. Thevector 1616 may be used to identify the lighting fixture 1604 and/orballast 1602 when the vector 1616 points to a position located onlighting fixture 1604 or any position within a two-dimensional orthree-dimensional area 1620 surrounding the lighting fixture 1604. Thelighting fixture 1604 and/or the area 1620 may be indicated by one ormore vectors.

The gesture-based control device 1614 may use the vector 1616 itself todetermine a load control device and/or control instructions. The vector1616 may be determined relative to the user. The angle and/or directionof the vector 1616 from the user may indicate a load control deviceand/or control instructions. For example, the gesture-based controldevice 1614 may identify the vector 1616 as pointing up and right fromthe user at a forty-five degree angle, which may indicate auser-selection of the lighting control device 1602 and/or controlinstructions for controlling the lighting control device 1602. While thevector 1616 points to the lighting fixture 1604, the vector 1616 may beused to identify the lighting control device 1602 when the user changeslocations (e.g., rotates position or moves to the other side of theroom). When the position of the vector 1616 is determined relative tothe user, the area to which the vector is pointing may be disregarded.

FIG. 16B depicts an example load control environment for programming agesture-based control device to identify load control devices usingvectors. As shown in FIG. 16B, the gesture-based control device 1614 maybe programmed using one or more vectors to identify a load controldevice, such as the motorized window treatment 1608, and/or the devicethat it controls, such as the covering material 1610. The gesture-basedcontrol device 1614 may use the hand coordinates 1618 of the skeletaloutline 1612 as a point of origin for the vector 1622. The points on thevector 1622 may be determined and followed to (e.g., extended to thelocation of) the motorized window treatment 1608.

The vector 1622 may be used to identify the motorized window treatment1608 when the vector 1622 reaches a position located on the motorizedwindow treatment 1608 or any position within a two-dimensional orthree-dimensional area 1624 surrounding the motorized window treatment1608. The area 1624 may be indicated by one or more vectors. Forexample, the user may move to the motorized window treatment 1608 andtrace the outline of (e.g., circle) the motorized window treatment 1608and/or the covering material 1610. Multiple vectors may be followed to apoint around the area 1624 to indicate the motorized window treatment1608 and/or the covering material 1610. While a circle is shown in FIG.16B, the user may also trace a square, a rectangle, or other shape toidentify the location of a load control device. Alternatively, the usercould identify a point at the location of the load control device. Oncethe motorized window treatment 1608 has been identified, the user mayperform a gesture that may be identified by the gesture-based controldevice 1614 to indicate the motorized window treatment 1608 and/orcontrol instructions for being executed by the motorized windowtreatment 1608 to control the covering material 1610. The gesture-basedcontrol device 1614 may store an association of the gesture with themotorized window treatment 1608 and/or control instructions for beingexecuted by the motorized window treatment 1608.

Vectors may be used in combination with one or more other gestures toidentify and/or control devices. Vectors may be used to identify loadcontrol devices, while another gesture may be used to send controlinstructions. Vectors may be used to indicate control instructions,while other gestures may be used to identify load control devices. In anexample, vector 1622 may be used to identify the motorized windowtreatment 1608, while the user may move an arm up or down to raise orlower the covering material 1610. Control instructions may be identifiedfor instructing the motorized window treatment 1608 to raise or lowerthe covering material 1608 when the left hand coordinates of theskeletal outline 1612 are between a horizontal line extending from thehip center coordinate and a horizontal line extending from the shouldercoordinate. The control instructions for controlling the motorizedwindow treatment 1608 may be identified and/or implemented so long asthe motorized window treatment 1608 is being identified by the user.

FIG. 17 is a block diagram depicting an example system 1700 forperforming gesture-based load control. As shown in FIG. 17, the system1700 may include a motion capture device 1702, a gesture-based controldevice 1718, and/or a load control device 1726. The motion capturedevice 1702, or the functionality thereof, may be included in thegesture-based control device 1718 or the load control device 1726. Thegesture-based control device 1718, or the functionality thereof, may beincluded in the motion capture device 1702.

The motion capture device 1702 may include any device capable ofcapturing images (e.g., still-frame images and/or videos) of a user or auser environment. The motion capture device 1702 may include a controlcircuit, e.g., controller 1714, for controlling the functionality of themotion capture device 1702. The controller 1714 may include one or moregeneral purpose processors, special purpose processors, conventionalprocessors, digital signal processors (DSPs), microprocessors,integrated circuits, a programmable logic device (PLD), applicationspecific integrated circuits (ASICs), or the like. The controller 1714may perform signal coding, data processing, image processing, powercontrol, input/output processing, or any other functionality thatenables the motion capture device 1702 to perform as described herein.

The controller 1714 may store information in and/or retrieve informationfrom the memory 1712. The memory 1712 may include a non-removable memoryand/or a removable memory. The non-removable memory may includerandom-access memory (RAM), read-only memory (ROM), a hard disk, or anyother type of non-removable memory storage. The removable memory mayinclude a subscriber identity module (SIM) card, a memory stick, amemory card, or any other type of removable memory.

The motion capture device 1702 may communicate with the gesture-basedcontrol device 1718 and/or load control device 1726 via a communicationcircuit 1716. The communication circuit 1716 maybe capable of performingwired and/or wireless communications. The communication circuit 1716 mayinclude an RF transceiver for transmitting and receiving RF signals viaan antenna or other communications module capable of performing wirelesscommunications. The communication circuit 1716 may be in communicationwith controller 1714. The communication circuit 1716 may be capable ofperforming communications via different communication channels. Forexample, the communication circuit 1716 may be capable of communicatingvia WI-FI®, WIMAX®, BLUETOOTH®, near field communication (NFC), aproprietary communication protocol, such as CLEAR CONNECT™, ZIGBEE®,Z-WAVE, or the like. The communication circuit 1716 may comprise an RFtransmitter for transmitting RF signals, an RF receiver for receiving RFsignals, an IR transmitter for transmitting IR signals, or an IRreceiver for receiving IR signals.

The controller 1714 may be in communication with a digital camera 1704,an infrared (IR) camera 1708, a depth sensor 1706, and/or an indicatorlight 1710. The digital camera 1704 may generate images using visiblelight. The IR camera 1708 may generate images using IR radiation. Thecontroller may use images from an RGB camera (not shown), such as forperforming facial recognition of a user. The controller may use one ormore microphones (not shown) for capturing audio. The depth sensor 1706may be used to capture the three-dimensional (3D) aspects of the images.The depth sensor 1706 may include an IR laser for capturing the distancebetween the motion capture device 1702 and another device. The indicatorlight 1710 may turn on and/or off to provide indications to a user, suchas whether the motion capture device 1704 is on or off, whether agesture has been identified, whether the gesture-based control device1718 has been enabled, whether the gesture-based control device 1718 isin a programming mode, or the like.

The gesture-based control device 1718 may include a control circuit,e.g., controller 1722, for controlling the functionality of thegesture-based control device 1718. The controller 1722 may include oneor more general purpose processors, special purpose processors,conventional processors, digital signal processors (DSPs),microprocessors, integrated circuits, a programmable logic device (PLD),application specific integrated circuits (ASICs), or the like. Thecontroller 1722 may perform signal coding, data processing, imageprocessing, power control, input/output processing, or any otherfunctionality that enables the gesture-based control device 1718 toperform as described herein.

The controller 1722 may store information in and/or retrieve informationfrom the memory 1720. The memory 1720 may include a non-removable memoryand/or a removable memory. The non-removable memory may includerandom-access memory (RAM), read-only memory (ROM), a hard disk, or anyother type of non-removable memory storage. The removable memory mayinclude a subscriber identity module (SIM) card, a memory stick, amemory card, or any other type of removable memory.

The gesture-based control device 1718 may communicate with the motioncapture device 1702 and/or the load control device 1726 via acommunication circuit 1724. The communication circuit 1724 may includeone or more communication circuits. For example, one communicationcircuit may communicate with the motion capture device 1702 and onecommunication circuit may communicate with the load control device 1726.The communication circuit 1724 maybe capable of performing wired and/orwireless communications. The communication circuit 1724 may include anRF transceiver for transmitting and receiving RF signals via an antenna,or other communications module capable of performing wirelesscommunications. The communication circuit 1724 may be in communicationwith controller 1722. The communication circuit 1724 may be capable ofperforming communications via different communication channels. Thecommunication circuit 1724 may comprise an RF transmitter fortransmitting RF signals, an RF receiver for receiving RF signals, an IRtransmitter for transmitting IR signals, or an IR receiver for receivingIR signals.

The load control device 1726 may include a dimmer switch, an electronicswitch, an electronic ballast for controlling fluorescent lamps, alight-emitting diode (LED) driver for controlling LED light sources, anAC plug-in load control device (e.g., a switching device), a thermostat,a motorized window treatment, or other load control device forcontrolling an electrical load 1740. The load control device 1726 mayinclude a control circuit, e.g., a controller 1730, and a communicationcircuit 1732. The communication circuit 1732 maybe capable of performingwired and/or wireless communications. The communication circuit 1732 mayinclude an RF transceiver for transmitting and receiving RF signals viaan antenna, or other communications module capable of performing wiredand/or wireless communications. The communication circuit 1732 maycomprise an RF transmitter for transmitting RF signals, an RF receiverfor receiving RF signals, an IR transmitter for transmitting IR signals,or an IR receiver for receiving IR signals. The communication circuit1732 may be in communication with controller 1730. The controller 1730may include one or more general purpose processors, special purposeprocessors, conventional processors, digital signal processors (DSPs),microprocessors, integrated circuits, a programmable logic device (PLD),application specific integrated circuits (ASICs), or the like. Thecontroller 1730 may perform signal coding, data processing, imageprocessing, power control, input/output processing, or any otherfunctionality that enables the load control device to perform asdescribed herein.

The controller 1730 may store information in and/or retrieve informationfrom the memory 1734. The memory 1734 may include a non-removable memoryand/or a removable memory. The load control circuit 1728 may receiveinstructions from the controller 1730 and may control the electricalload 1740 (e.g., by controlling the amount of power provided to theload) based on the received instructions. The load control circuit 1728may receive power via a hot connection 1736 and a neutral connection1738. While the load control device 1726 includes four terminals asshown in FIG. 17, the load control device 1726 may include one loadterminal connected to the electrical load 1740, which may be connectedin series between the load control device 1726 and a neutral of the ACpower source supplying power to the hot connection 1736 and the neutralconnection 1738. In other words, the load control device 1726 may be a“three-wire” device. The load control device 1726 may have oneconnection to the AC power source (e.g., hot connection 1736) and maynot comprise a connection to the neutral of the AC power source (e.g.,may not comprise neutral connection 1738). In other words, the loadcontrol device 1726 may be a “two-wire” device. The electrical load 1740may include any type of electrical load.

While the examples described herein may use control instructions tocontrol an electrical load, the control instructions may be identified,associated, programmed, and/or used to control other functions of a loadcontrol device. For example, the control instructions may be used toenable or disable a load control device, such as an occupancy sensor, aremote control device, or a timer or other automated function on a loadcontrol device that the user may manually override. The controlinstructions may control occupancy or vacancy status of an occupancysensor.

Although features and elements are described above in particularcombinations, each feature or element can be used alone or in anycombination with the other features and elements. The methods describedherein may be implemented in a computer program, software, or firmwareincorporated in a computer-readable medium for execution by a computeror processor. Examples of computer-readable media include electronicsignals (transmitted over wired or wireless connections) andcomputer-readable storage media. Examples of computer-readable storagemedia include, but are not limited to, a read only memory (ROM), arandom access memory (RAM), removable disks, and optical media such asCD-ROM disks, and digital versatile disks (DVDs).

1. A control device for controlling an amount of power provided to atleast one electrical load, the control device comprising: a controllerconfigured to: identify, via generated images, a first gesture performedby a user, determine the at least one electrical load of a plurality ofelectrical loads based on the first gesture that is identified in thegenerated images, identify, via the generated images, a second gestureperformed by the user, determine control instructions for controllingthe at least one electrical load based on the second gesture that isidentified in the generated images, wherein the control instructions arecapable of controlling the amount of power provided to the at least oneelectrical load, and control the amount of power provided to the atleast one electrical load based on the control instructions.
 2. Thecontrol device of claim 1, further comprising a load control circuit,and wherein the controller is configured to control the amount of powerprovided to the at least one electrical load via the load controlcircuit.
 3. The control device of claim 1, wherein the first gesture isidentified based on a first coordinate associated with the user's body,and wherein the second gesture is identified based on a secondcoordinate associated with the user's body.
 4. The control device ofclaim 3, wherein the first coordinate is associated with a first arm ofthe user, and wherein the second coordinate is associated with a secondarm of the user.
 5. The control device of claim 1, wherein thecontroller is further configured to: identify a speed at which thesecond gesture is performed, and determine the amount of power providedto the at least one electrical load based on the identified speed. 6.The control device of claim 1, wherein the controller is furtherconfigured to: identify a distance over which the second gesture isperformed, and determine the amount of power provided to the at leastone electrical load based on the identified distance.
 7. The controldevice of claim 1, wherein the controller is further configured todetermine the at least one electrical load based on a vector associatedwith the first gesture.
 8. The control device of claim 1, wherein thefirst gesture and the second gesture are identified in different regionsof a regional mapping configuration of one or more of the generatedimages.
 9. The control device of claim 1, further comprising a cameraconfigured to generate the images.
 10. A load control system forcontrolling an amount of power provided to at least one electrical loadvia at least one load control device, the load control systemcomprising: a motion capture device configured to generate images of auser, the motion capture device further configured to identify, via thegenerated images, a first gesture and a second gesture performed by theuser; and a gesture-based control device configured to: determine the atleast one load control device of a plurality of load control devices inthe load control system based on the first gesture that is identified bythe motion capture device, determine control instructions forcontrolling the at least one load control device based on the secondgesture that is identified by the motion capture device, wherein thecontrol instructions are capable of causing the at least one loadcontrol device to control the amount of power provided to the at leastone electrical load, and send the control instructions to the at leastone load control device for controlling the amount of power provided tothe at least one electrical load.
 11. The load control system of claim10, wherein the first gesture is identified based on a first coordinateassociated with the user's body, and wherein the second gesture isidentified based on a second coordinate associated with the user's body.12. The load control system of claim 11, wherein the first coordinate isassociated with a first arm of the user, and wherein the secondcoordinate is associated with a second arm of the user.
 13. The loadcontrol system of claim 10, wherein the gesture-based control device isfurther configured to: identify a speed at which the second gesture isperformed, and determine the amount of power provided to the at leastone electrical load based on the identified speed.
 14. The load controlsystem of claim 10, wherein the gesture-based control device is furtherconfigured to: identify a distance over which the second gesture isperformed, and determine the amount of power provided to the at leastone electrical load based on the identified distance.
 15. The loadcontrol system of claim 10, wherein the gesture-based control device isfurther configured to determine the at least one load control devicebased on a vector associated with the first gesture.
 16. The loadcontrol system of claim 10, wherein the first gesture and the secondgesture are identified in different regions of a regional mappingconfiguration of one or more of the images generated by the motioncapture device.
 17. A control device for controlling an amount of powerprovided to at least one electrical load, the control device comprising:a controller configured to: identify, in one or more images, a firstgesture performed by a user, determine at least one load control deviceof a plurality of load control devices for controlling the at least oneelectrical load based on the first gesture that is identified in the oneor more images, identify, in the one or more images, a second gestureperformed by the user, determine control instructions for controllingthe at least one load control device based on the second gesture that isidentified in the images, wherein the control instructions are capableof causing the at least one load control device to control the amount ofpower provided to the at least one electrical load, and send the controlinstructions to the at least one load control device for controlling theamount of power provided to the at least one electrical load.
 18. Thecontrol device of claim 17, wherein the first gesture is identifiedbased on a first coordinate associated with the user's body, and whereinthe second gesture is identified based on a second coordinate associatedwith the user's body.
 19. The control device of claim 18, wherein thefirst coordinate is associated with a first arm of the user, and whereinthe second coordinate is associated with a second arm of the user. 20.The control device of claim 17, wherein the controller is furtherconfigured to: identify a speed at which the second gesture isperformed, and determine the amount of power provided to the at leastone electrical load based on the identified speed.
 21. The controldevice of claim 17, wherein the controller is further configured to:identify a distance over which the second gesture is performed, anddetermine the amount of power provided to the at least one electricalload based on the identified distance.
 22. The control device of claim17, wherein the controller is further configured to determine the atleast one load control device based on a vector associated with thefirst gesture.
 23. The control device of claim 17, wherein the firstgesture and the second gesture are identified in different regions of aregional mapping configuration of one or more of the images.
 24. Thecontrol device of claim 17, further comprising a communication circuit,wherein the control instructions are sent via the communication circuit.25. A method for controlling an amount of power provided to at least oneelectrical load, the method comprising: generating images of a user;identifying, in the generated images, a first gesture performed by theuser; determining the at least one electrical load of a plurality ofelectrical loads based on the first gesture that is identified in thegenerated images; identifying, in the generated images, a second gestureperformed by the user; determining control instructions for controllingthe at least one electrical load based on the second gesture that isidentified in the generated images, wherein the control instructions arecapable of controlling the amount of power provided to the at least oneelectrical load; and controlling the amount of power provided to the atleast one electrical load based on the control instructions.
 26. Themethod of claim 25, wherein the amount of power provided to the at leastone electrical load is controlled by sending the control instructions toa load control device configured to control the electrical load.
 27. Themethod of claim 25, wherein the first gesture is identified based on afirst coordinate associated with the user's body, and wherein the secondgesture is identified based on a second coordinate associated with theuser's body.
 28. The method of claim 27, wherein the first coordinate isassociated with a first arm of the user, and wherein the secondcoordinate is associated with a second arm of the user.
 29. The methodof claim 25, further comprising: identifying a speed at which the secondgesture is performed; and determining the amount of power provided tothe at least one electrical load based on the identified speed.
 30. Themethod of claim 25, further comprising: identifying a distance overwhich the second gesture is performed; and determining the amount ofpower provided to the at least one electrical load based on theidentified distance.
 31. The method of claim 25, wherein the at leastone electrical load is determined based on a vector associated with thefirst gesture.
 32. The method of claim 25, wherein the first gesture andthe second gesture are identified in different regions of a regionalmapping configuration of one or more of the images.
 33. The method ofclaim 25, wherein the images are generated by a camera.